﻿Imports System
Imports System.Reflection
Imports System.Runtime.CompilerServices
Imports System.Runtime.InteropServices

Namespace Google.Desktop.Interop
    <ComImport, TypeLibType(CShort(&H10C0)), Guid("46FCE283-25D0-44F5-8EF4-33EC5328327B"), DefaultMember("GetProperty")> _
    Public Interface IGoogleDesktopQueryResultItem3
        Inherits IGoogleDesktopQueryResultItem2

        <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime), DispId(0)> _
        Function GetProperty(<[In](), MarshalAs(UnmanagedType.BStr)> ByVal prop_name As String) As <MarshalAs(UnmanagedType.Struct)> Object

        <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime), DispId(&H41A)> _
        Sub RemoveFromIndex(<[In]()> ByVal remove_all_related_versions As Boolean)

        <DispId(&H3F0)> _
        ReadOnly Property schema As <MarshalAs(UnmanagedType.BStr)> String
        
        <DispId(&H40F)> _
        ReadOnly Property versions As <MarshalAs(UnmanagedType.Interface)> IGoogleDesktopDocumentVersions
        
        <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime), DispId(&H421)> _
        Function GetKeywords(<[In](), MarshalAs(UnmanagedType.Struct)> Optional ByVal num_keywords As Object = Nothing, <[In](), MarshalAs(UnmanagedType.Struct)> Optional ByVal include_weight As Object = Nothing) As <MarshalAs(UnmanagedType.BStr)> String

        <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime), DispId(&H422)> _
        Function GetSnippet(<[In](), MarshalAs(UnmanagedType.Struct)> Optional ByVal max_chars As Object = Nothing, <[In](), MarshalAs(UnmanagedType.Struct)> Optional ByVal words_to_hilite As Object = Nothing) As <MarshalAs(UnmanagedType.BStr)> String

        <DispId(&H424)> _
        WriteOnly Property onkeywordsready As Object
        
        <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime), DispId(&H429)> _
        Sub Open(<[In](), MarshalAs(UnmanagedType.Struct)> Optional ByVal action_id As Object = Nothing)

        <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime), DispId(&H60040002)> _
        Function GetPropertyIterator() As <MarshalAs(UnmanagedType.Interface)> IGoogleDesktopItemPropertyIterator

    End Interface
End Namespace

